//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//
//int cmp_desc(const void* a, const void* b) 
//{
//    return (*(int*)b - *(int*)a);
//}
//
//int main()
//{
//    int n, m, k;
//    scanf("%d %d %d", &n, &m, &k);
//
//    char** grid = (char**)malloc(n * sizeof(char*));
//    for (int i = 0; i < n; i++) 
//    {
//        grid[i] = (char*)malloc((m + 1) * sizeof(char));
//        scanf("%s", grid[i]);
//    }
//
//    int* segments = (int*)malloc(n * m * sizeof(int));
//    int seg_count = 0;
//
//    for (int j = 0; j < m; j++)
//    {
//        int i = 0;
//        while (i < n) 
//        {
//            if (grid[i][j] == '*') 
//            {
//                i++;
//                continue;
//            }
//
//            int start = i;
//            while (i < n && grid[i][j] == 'o')
//            {
//                i++;
//            }
//            int length = i - start;
//
//            if (length > 0) 
//            {
//                segments[seg_count++] = length;
//            }
//        }
//    }
//
//    if (seg_count == 0) 
//    {
//        printf("0\n");
//        for (int i = 0; i < n; i++) free(grid[i]);
//        free(grid);
//        free(segments);
//        return 0;
//    }
//
//    qsort(segments, seg_count, sizeof(int), cmp_desc);
//
//    long long total_score = 0;
//    long long remaining = k;
//
//    for (int i = 0; i < seg_count; i++) 
//    {
//        if (remaining <= 0) break;
//
//        long long x = (segments[i] < remaining) ? segments[i] : remaining;
//
//        total_score += (x - 1);
//
//        remaining -= x;
//    }
//    printf("%lld\n", total_score);
//    for (int i = 0; i < n; i++) free(grid[i]);
//    free(grid);
//    free(segments);
//    return 0;
//}


#include <stdio.h>
#include <string.h>

void reverse(char* arr, int start, int end) 
{
    while (start < end)
    {
        char temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}

int main()
{
    int t;
    scanf_s("%d", &t);
    while (t--) 
    {
        char s[200001];
        scanf_s("%s", s);
        int n = strlen(s);
        int at = n - 1;
        for (int i = n - 2; i >= 0; i--) 
        {
            if (s[i] > s[i + 1] && s[i] != '0') 
            {
                int j = i;
                while (j < at) 
                {
                    s[j + 1] = s[j];
                    j++;
                }
                s[i] = s[i] - 1;
                at = i;
            }
        }
        for (int i = at + 1; i < n; i++)
        {
            s[i] = '9';
        }
        printf("%s\n", s);
    }
    return 0;
}